package com.zheng.pay.dao.model;

import java.io.Serializable;
import java.util.Date;

public class PayPayOrder implements Serializable {
    /**
     * 支付订单号
     *
     * @mbg.generated
     */
    private String payorderid;

    /**
     * 商户ID
     *
     * @mbg.generated
     */
    private String mchid;

    /**
     * 商户订单号
     *
     * @mbg.generated
     */
    private String mchorderno;

    /**
     * 渠道ID
     *
     * @mbg.generated
     */
    private String channelid;

    /**
     * 支付金额,单位分
     *
     * @mbg.generated
     */
    private Long amount;

    /**
     * 三位货币代码,人民币:cny
     *
     * @mbg.generated
     */
    private String currency;

    /**
     * 支付状态,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成
     *
     * @mbg.generated
     */
    private Byte status;

    /**
     * 客户端IP
     *
     * @mbg.generated
     */
    private String clientip;

    /**
     * 设备
     *
     * @mbg.generated
     */
    private String device;

    /**
     * 商品标题
     *
     * @mbg.generated
     */
    private String subject;

    /**
     * 商品描述信息
     *
     * @mbg.generated
     */
    private String body;

    /**
     * 特定渠道发起时额外参数
     *
     * @mbg.generated
     */
    private String extra;

    /**
     * 渠道商户ID
     *
     * @mbg.generated
     */
    private String channelmchid;

    /**
     * 渠道订单号
     *
     * @mbg.generated
     */
    private String channelorderno;

    /**
     * 渠道支付错误码
     *
     * @mbg.generated
     */
    private String errcode;

    /**
     * 渠道支付错误描述
     *
     * @mbg.generated
     */
    private String errmsg;

    /**
     * 扩展参数1
     *
     * @mbg.generated
     */
    private String param1;

    /**
     * 扩展参数2
     *
     * @mbg.generated
     */
    private String param2;

    /**
     * 通知地址
     *
     * @mbg.generated
     */
    private String notifyurl;

    /**
     * 通知次数
     *
     * @mbg.generated
     */
    private Byte notifycount;

    /**
     * 最后一次通知时间
     *
     * @mbg.generated
     */
    private Date lastnotifytime;

    /**
     * 订单失效时间
     *
     * @mbg.generated
     */
    private Date expiretime;

    /**
     * 订单支付成功时间
     *
     * @mbg.generated
     */
    private Date paysucctime;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createtime;

    /**
     * 更新时间
     *
     * @mbg.generated
     */
    private Date updatetime;

    private static final long serialVersionUID = 1L;

    public String getPayorderid() {
        return payorderid;
    }

    public void setPayorderid(String payorderid) {
        this.payorderid = payorderid;
    }

    public String getMchid() {
        return mchid;
    }

    public void setMchid(String mchid) {
        this.mchid = mchid;
    }

    public String getMchorderno() {
        return mchorderno;
    }

    public void setMchorderno(String mchorderno) {
        this.mchorderno = mchorderno;
    }

    public String getChannelid() {
        return channelid;
    }

    public void setChannelid(String channelid) {
        this.channelid = channelid;
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public String getClientip() {
        return clientip;
    }

    public void setClientip(String clientip) {
        this.clientip = clientip;
    }

    public String getDevice() {
        return device;
    }

    public void setDevice(String device) {
        this.device = device;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public String getChannelmchid() {
        return channelmchid;
    }

    public void setChannelmchid(String channelmchid) {
        this.channelmchid = channelmchid;
    }

    public String getChannelorderno() {
        return channelorderno;
    }

    public void setChannelorderno(String channelorderno) {
        this.channelorderno = channelorderno;
    }

    public String getErrcode() {
        return errcode;
    }

    public void setErrcode(String errcode) {
        this.errcode = errcode;
    }

    public String getErrmsg() {
        return errmsg;
    }

    public void setErrmsg(String errmsg) {
        this.errmsg = errmsg;
    }

    public String getParam1() {
        return param1;
    }

    public void setParam1(String param1) {
        this.param1 = param1;
    }

    public String getParam2() {
        return param2;
    }

    public void setParam2(String param2) {
        this.param2 = param2;
    }

    public String getNotifyurl() {
        return notifyurl;
    }

    public void setNotifyurl(String notifyurl) {
        this.notifyurl = notifyurl;
    }

    public Byte getNotifycount() {
        return notifycount;
    }

    public void setNotifycount(Byte notifycount) {
        this.notifycount = notifycount;
    }

    public Date getLastnotifytime() {
        return lastnotifytime;
    }

    public void setLastnotifytime(Date lastnotifytime) {
        this.lastnotifytime = lastnotifytime;
    }

    public Date getExpiretime() {
        return expiretime;
    }

    public void setExpiretime(Date expiretime) {
        this.expiretime = expiretime;
    }

    public Date getPaysucctime() {
        return paysucctime;
    }

    public void setPaysucctime(Date paysucctime) {
        this.paysucctime = paysucctime;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", payorderid=").append(payorderid);
        sb.append(", mchid=").append(mchid);
        sb.append(", mchorderno=").append(mchorderno);
        sb.append(", channelid=").append(channelid);
        sb.append(", amount=").append(amount);
        sb.append(", currency=").append(currency);
        sb.append(", status=").append(status);
        sb.append(", clientip=").append(clientip);
        sb.append(", device=").append(device);
        sb.append(", subject=").append(subject);
        sb.append(", body=").append(body);
        sb.append(", extra=").append(extra);
        sb.append(", channelmchid=").append(channelmchid);
        sb.append(", channelorderno=").append(channelorderno);
        sb.append(", errcode=").append(errcode);
        sb.append(", errmsg=").append(errmsg);
        sb.append(", param1=").append(param1);
        sb.append(", param2=").append(param2);
        sb.append(", notifyurl=").append(notifyurl);
        sb.append(", notifycount=").append(notifycount);
        sb.append(", lastnotifytime=").append(lastnotifytime);
        sb.append(", expiretime=").append(expiretime);
        sb.append(", paysucctime=").append(paysucctime);
        sb.append(", createtime=").append(createtime);
        sb.append(", updatetime=").append(updatetime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PayPayOrder other = (PayPayOrder) that;
        return (this.getPayorderid() == null ? other.getPayorderid() == null : this.getPayorderid().equals(other.getPayorderid()))
            && (this.getMchid() == null ? other.getMchid() == null : this.getMchid().equals(other.getMchid()))
            && (this.getMchorderno() == null ? other.getMchorderno() == null : this.getMchorderno().equals(other.getMchorderno()))
            && (this.getChannelid() == null ? other.getChannelid() == null : this.getChannelid().equals(other.getChannelid()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getClientip() == null ? other.getClientip() == null : this.getClientip().equals(other.getClientip()))
            && (this.getDevice() == null ? other.getDevice() == null : this.getDevice().equals(other.getDevice()))
            && (this.getSubject() == null ? other.getSubject() == null : this.getSubject().equals(other.getSubject()))
            && (this.getBody() == null ? other.getBody() == null : this.getBody().equals(other.getBody()))
            && (this.getExtra() == null ? other.getExtra() == null : this.getExtra().equals(other.getExtra()))
            && (this.getChannelmchid() == null ? other.getChannelmchid() == null : this.getChannelmchid().equals(other.getChannelmchid()))
            && (this.getChannelorderno() == null ? other.getChannelorderno() == null : this.getChannelorderno().equals(other.getChannelorderno()))
            && (this.getErrcode() == null ? other.getErrcode() == null : this.getErrcode().equals(other.getErrcode()))
            && (this.getErrmsg() == null ? other.getErrmsg() == null : this.getErrmsg().equals(other.getErrmsg()))
            && (this.getParam1() == null ? other.getParam1() == null : this.getParam1().equals(other.getParam1()))
            && (this.getParam2() == null ? other.getParam2() == null : this.getParam2().equals(other.getParam2()))
            && (this.getNotifyurl() == null ? other.getNotifyurl() == null : this.getNotifyurl().equals(other.getNotifyurl()))
            && (this.getNotifycount() == null ? other.getNotifycount() == null : this.getNotifycount().equals(other.getNotifycount()))
            && (this.getLastnotifytime() == null ? other.getLastnotifytime() == null : this.getLastnotifytime().equals(other.getLastnotifytime()))
            && (this.getExpiretime() == null ? other.getExpiretime() == null : this.getExpiretime().equals(other.getExpiretime()))
            && (this.getPaysucctime() == null ? other.getPaysucctime() == null : this.getPaysucctime().equals(other.getPaysucctime()))
            && (this.getCreatetime() == null ? other.getCreatetime() == null : this.getCreatetime().equals(other.getCreatetime()))
            && (this.getUpdatetime() == null ? other.getUpdatetime() == null : this.getUpdatetime().equals(other.getUpdatetime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getPayorderid() == null) ? 0 : getPayorderid().hashCode());
        result = prime * result + ((getMchid() == null) ? 0 : getMchid().hashCode());
        result = prime * result + ((getMchorderno() == null) ? 0 : getMchorderno().hashCode());
        result = prime * result + ((getChannelid() == null) ? 0 : getChannelid().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getClientip() == null) ? 0 : getClientip().hashCode());
        result = prime * result + ((getDevice() == null) ? 0 : getDevice().hashCode());
        result = prime * result + ((getSubject() == null) ? 0 : getSubject().hashCode());
        result = prime * result + ((getBody() == null) ? 0 : getBody().hashCode());
        result = prime * result + ((getExtra() == null) ? 0 : getExtra().hashCode());
        result = prime * result + ((getChannelmchid() == null) ? 0 : getChannelmchid().hashCode());
        result = prime * result + ((getChannelorderno() == null) ? 0 : getChannelorderno().hashCode());
        result = prime * result + ((getErrcode() == null) ? 0 : getErrcode().hashCode());
        result = prime * result + ((getErrmsg() == null) ? 0 : getErrmsg().hashCode());
        result = prime * result + ((getParam1() == null) ? 0 : getParam1().hashCode());
        result = prime * result + ((getParam2() == null) ? 0 : getParam2().hashCode());
        result = prime * result + ((getNotifyurl() == null) ? 0 : getNotifyurl().hashCode());
        result = prime * result + ((getNotifycount() == null) ? 0 : getNotifycount().hashCode());
        result = prime * result + ((getLastnotifytime() == null) ? 0 : getLastnotifytime().hashCode());
        result = prime * result + ((getExpiretime() == null) ? 0 : getExpiretime().hashCode());
        result = prime * result + ((getPaysucctime() == null) ? 0 : getPaysucctime().hashCode());
        result = prime * result + ((getCreatetime() == null) ? 0 : getCreatetime().hashCode());
        result = prime * result + ((getUpdatetime() == null) ? 0 : getUpdatetime().hashCode());
        return result;
    }
}